.header {
  position: relative;
  padding-top: 8rem;
  background: linear-gradient(#e8eef2, #d3dde4);
  overflow: hidden;
  user-select: none;
}

.logo {
  position: relative;
  top: -60px;
  width: 20rem;
  height: 14.5rem;
  opacity: 0;
  transform: rotate(-2turn) scale(0);
  -webkit-animation: fade-content 1s 1.2s cubic-bezier(0.2, 1, 0.2, 1) forwards;
  animation: fade-content 1s 1.2s cubic-bezier(0.2, 1, 0.2, 1) forwards;
}

.arrow {
  position: absolute;
  width: 100%;
  height: 100%;
  font-size: 18px;
  opacity: 0;
  transform: scale(1.7);
  -webkit-animation: fade-content 0.5s 2.2s cubic-bezier(0.2, 1, 0.2, 1) forwards;
  animation: fade-content 0.5s 2.2s cubic-bezier(0.2, 1, 0.2, 1) forwards;
}

.arrow::before,
.arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  border-top: 1.5em solid transparent;
}

.arrow::before {
  border-right: 1em solid #c7deef;
  transform-origin: 100% 0;
  transform: translate(calc(-100%), -75%) skewY(-25deg);
}

.arrow::after {
  border-left: 1em solid #5a7695;
  transform-origin: 0 0;
  transform: translate(1px, -75%) skewY(25deg);
}

.slogan {
  /* 630 */
  max-width: 470px;
  /*margin: 0 auto 3.5rem;*/
  margin-left: 50px;
  color: #023161;
  font: 100 26px/1.5 sans-serif;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  text-transform: capitalize;
  opacity: 0;
  transform: perspective(800px) rotateX(-60deg) translateY(50px);
  -webkit-animation: fade-content 0.85s 2.1s cubic-bezier(0.2, 1, 0.2, 1)
  forwards;
  animation: fade-content 0.85s 2.1s cubic-bezier(0.2, 1, 0.2, 1) forwards;
}

.slogan .ps {
  color: #fff;
  text-transform: lowercase;
  text-shadow: 0 1px 2px rgba(0, 30, 50, 0.15);
}

.circle {
  position: absolute;
  top: calc(50% - 10vw);
  left: calc(50% - 50vw);
  width: 200vw;
  height: 200vw;
  border-radius: 50%;
  background-color: rgba(255, 0, 0, 0.1);
  background-image: linear-gradient(45deg, rgba(255, 179, 103, 0.75) 55%, rgba(185, 93, 215, 0.75), rgba(0, 215, 185, 0.75) 72%);
  transform: translate(100%, 500px);
  -webkit-animation: fade-content 1.2s 0.7s cubic-bezier(0.2, 1, 0.2, 1) forwards;
  animation: fade-content 1.2s 0.7s cubic-bezier(0.2, 1, 0.2, 1) forwards;
  mix-blend-mode: darken;
}

.circle.c2 {
  top: calc(50% - 1vw);
  left: calc(50% - 90vw);
  width: 250vw;
  height: 250vw;
  background-image: linear-gradient(45deg, rgba(255, 207, 159, 0.75) 62.5%, rgba(206, 151, 223, 0.75), rgba(141, 198, 216, 0.75) 70%);
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.hill {
  position: relative;
  height: 8.5rem;
  overflow: hidden;
}

.hill::before {
  content: "";
  position: absolute;
  border-radius: 50%;
  top: 1rem;
  left: 50%;
  width: 1000vw;
  height: 1000vw;
  transform: translate(calc(-50% + 35vw), 0);
  background-color: #fff;
  color: rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 0.5rem, 0 0 2rem, 0 0 3rem;
}

@-webkit-keyframes fade-content {
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes fade-content {
  to {
    opacity: 1;
    transform: none;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  position: relative;
  margin: 0;
  min-height: 100vh;
  padding-top: 1px;
  padding-bottom: 5rem;
  text-align: center;
  overflow-y: scroll;
}

.info {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 1em;
  font-size: 0.9em;
  font-style: italic;
  font-family: serif;
  text-align: right;
  opacity: 0.5;
}

.info a {
  color: inherit;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.register {
  position: absolute;
  right: 180px;
  top: 100px;
  width: 320px;
  height: 340px;
  background-color: white;
  border-radius: 5px;
  box-shadow: 0 4px 20px -2px;
}

.register-form-item {
  width: 85%;
  height: 40px;
  margin: 20px auto;
  border-radius: 5px;

}

.register-form-item input {
  width: 100%;
  height: 42px;
  box-sizing: border-box;
  outline: 0;
  border: 2px solid #ebebeb;
  text-indent: 15px;
  font-size: 14px;
  line-height: 42px;
  *margin-left: -15px;
  background: #fff;
}

.focus {
  width: 350px;
  text-align: left;
  /*color: #ff552e;*/
  color: white;
  font-size: 12px;
  position: relative;
  float: left;
}

.focus span {
  height: 35px;
  line-height: 35px;
}

.icon-tips {
  background: url("../assets/警告.png") no-repeat;
  width: 15px;
  height: 15px;
  background-size: 15px;
  display: block;
  float: left;
  margin-top: 9px;
  display: none;
}

.register-form-btn {
  width: 85%;
  height: 42px;
  margin: 0 auto;
}

.register-form-btn .btn {
  width: 100%;
  height: 100%;
  outline: 0;
  border: 0;
  background: #ff552e;
  color: #fff;
  cursor: pointer;
  text-align: center;
}
